/*
 * HuevoReloj.cpp
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */
#include <cmath>
#include "HuevoReloj.h"
#include "Daniable.h"

HuevoReloj::HuevoReloj(double anguloDeDisparo,double normaVelocidadInicial,
		double x, double y, double tiempoInicio):Huevo(anguloDeDisparo,
				normaVelocidadInicial, x , y, tiempoInicio), exploto(false),
				tiempoActual(tiempoLimite) {}

void HuevoReloj::daniar(Daniable* daniable) {
	const double delta = 4.0;
	const double delta_explosion = 15.0;
	double deltax = (getPosicionX() - daniable->getPosicionX());
	double deltay = (getPosicionY() - daniable->getPosicionY());
	if (exploto) {
		if ((fabs(deltax) < delta_explosion )&&(fabs(deltay) < delta_explosion ))
			daniable->serDaniadoPorHuevoReloj();
	}

	else	if ((fabs(deltax) < delta )&&(fabs(deltay) < delta )) {
				explotar();
				daniable->serDaniadoPorHuevoReloj();
		    }
		
}

 
void HuevoReloj::explotar() {
	impactar();
	exploto = true;
}

double HuevoReloj::tiempoLimite = 6;

void HuevoReloj::mover( double t) {
	Huevo::mover( t );
	tiempoActual--;
	if (tiempoActual == 0) explotar();
}

// std::string &HuevoReloj::getImagePath() {}
void HuevoReloj::setImagePath(std::string &path) {}

void HuevoReloj::show() {}

HuevoReloj::~HuevoReloj() {
	// TODO Auto-generated destructor stub
}


